#!/usr/bin/env bash

cc=riscv64-linux-gnu-gcc

test_name=$(basename $0 .sh)


t=out/tests/$test_name

mkdir -p "$t"

echo "int add(int a, int b);" > "$t"/bash.h

cat <<EOF | $cc -o "$t"/a.o -c -xc -
#include<stdio.h>
int add(int a,int b);
int main(){
  printf("Hello World\n");
  printf("7+9=%d\n",add(7,9));


  return 0;
}
EOF

cat <<EOF | $cc -o "$t"/add.o -c -xc -
int add(int a, int b){
  int ans=a+b;
  return ans;
}
EOF


$CC -B. -static "$t"/a.o "$t"/add.o -o "$t"/out

qemu-riscv64 "$t"/out
